/**
 * 处理页码分页
 * 
 * dataList：原有的数据列表
 * arr：本次请求得到的数据列表
 * pagination：请求的分页信息
 * 
 * 返回值是统一的加载状态
 */
const handlePagination = (dataList = [], arr, pagination) => {
	var loadStatus = ''
	if (pagination.pageIndex === 0) {
		dataList.length = 0
	}
	if (arr.length === 0) {
		if (dataList.length === 0) {
			// 完全没有数据
			loadStatus = 'noData'
		} else {
			// 一定是后续页没有更多数据
			loadStatus = 'noMore'
			pagination.pageIndex -= 1
		}
	} else {
		arr.forEach(item => {
			dataList.push(item)
		})
		if (arr.length < pagination.pageSize) {
			// 没有更多数据
			if (dataList.length < pagination.pageSize) {
				// 不足一页，不显示
				loadStatus = ''
			} else {
				// 超过1页，显示没有更多数据
				loadStatus = 'noMore'
			}
		} else {
			// 还有更多数据
			loadStatus = 'more'
		}
	}
	return loadStatus
}

module.exports = {
	handlePagination
}